00001
00002 #ifndef INCLUDED_LIB3DS_VECTOR_H
00003 #define INCLUDED_LIB3DS_VECTOR_H
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef INCLUDED_LIB3DS_TYPES_H
00027 #include <lib3ds/types.h>
00028 #endif
00029
00030 #ifdef __cplusplus
00031 extern "C" {
00032 #endif
00033
00034 extern LIB3DSAPI void lib3ds_vector_zero(Lib3dsVector c);
00035 extern LIB3DSAPI void lib3ds_vector_copy(Lib3dsVector dest, Lib3dsVector src);
00036 extern LIB3DSAPI void lib3ds_vector_neg(Lib3dsVector c);
00037 extern LIB3DSAPI void lib3ds_vector_add(Lib3dsVector c, Lib3dsVector a, Lib3dsVector b);
00038 extern LIB3DSAPI void lib3ds_vector_sub(Lib3dsVector c, Lib3dsVector a, Lib3dsVector b);
00039 extern LIB3DSAPI void lib3ds_vector_scalar(Lib3dsVector c, Lib3dsFloat k);
00040 extern LIB3DSAPI void lib3ds_vector_cross(Lib3dsVector c, Lib3dsVector a, Lib3dsVector b);
00041 extern LIB3DSAPI Lib3dsFloat lib3ds_vector_dot(Lib3dsVector a, Lib3dsVector b);
00042 extern LIB3DSAPI Lib3dsFloat lib3ds_vector_squared(Lib3dsVector c);
00043 extern LIB3DSAPI Lib3dsFloat lib3ds_vector_length(Lib3dsVector c);
00044 extern LIB3DSAPI void lib3ds_vector_normalize(Lib3dsVector c);
00045 extern LIB3DSAPI void lib3ds_vector_normal(Lib3dsVector n, Lib3dsVector a,
00046 Lib3dsVector b, Lib3dsVector c);
00047 extern LIB3DSAPI void lib3ds_vector_transform(Lib3dsVector c, Lib3dsMatrix m, Lib3dsVector a);
00048 extern LIB3DSAPI void lib3ds_vector_cubic(Lib3dsVector c, Lib3dsVector a, Lib3dsVector p,
00049 Lib3dsVector q, Lib3dsVector b, Lib3dsFloat t);
00050 extern LIB3DSAPI void lib3ds_vector_min(Lib3dsVector c, Lib3dsVector a);
00051 extern LIB3DSAPI void lib3ds_vector_max(Lib3dsVector c, Lib3dsVector a);
00052 extern LIB3DSAPI void lib3ds_vector_dump(Lib3dsVector c);
00053
00054 #ifdef __cplusplus
00055 };
00056 #endif
00057 #endif
00058